#ifndef CHAPTER11_PRACTICE7_COMPLEX0_H_
#define CHAPTER11_PRACTICE7_COMPLEX0_H_

#include <iostream>

class Complex
{
private:
	double real;
	double imaginary;
public:
	Complex();
	Complex(double real, double imaginary);
	Complex operator+(const Complex & a) const;
	Complex operator-(const Complex & a) const;
	Complex operator*(const Complex & a) const;
	Complex operator~() const;

	friend Complex operator*(double n, const Complex & a);
	friend std::ostream &
		operator<<(std::ostream & os, const Complex & c);
	friend std::istream &
		operator>>(std::istream & is, Complex & c);
};
#endif // CHAPTER11_PRACTICE7_COMPLEX0_H_

